In modern electronics, a flip-flop is a circuit that has two stable states and can be utilized to store state information, typically referred to as a “0” state or a “1” state that form the basic language of all modern computing systems. The flip-flop circuits are combined within the design of the computing system to store and process these states during operation of the computing system. Several different types of flip-flops exist in the art and are used in computing systems; including static flip-flops (providing a fixed static logic signal at the output) and dynamic flip-flops (providing a monotonic output if the input data is a logic “1” and a fixed “0” output if the data is “0”). In general, flip-flop circuits are the fundamental building blocks of digital electronic systems used in almost every modern computing device.
In computing systems that incorporate a high-performance microprocessor, flip-flops are typically designed to provide short latency and the capability to incorporate logic functions with a minimum delay time penalty. One such design, known as the semi-dynamic flip-flop, comprises a dynamic front-end such that the flip-flop can operate on the clock signal of the system and a static back-end to hold the state of the flip-flop stable for use by the system during system operation. However, while known semi-dynamic flip-flops provide several advantages over previously designed flip-flops, there is always the need in high-performing computing systems for faster performing and more stable flip-flops. In addition, as computing devices become smaller and smaller, the space consumed within a microprocessor chip by any component of the microprocessor becomes important. In general, circuit design of a microprocessor balances the need for faster performance, area consumed and stability or reliability of the circuit.
It is with these and other issues in mind that various aspects of the present disclosure were developed.